package Simulator;

public abstract class Road {
	/**
	 * 
	 * @param _index
	 * @return
	 */
	public abstract Car getCar(int _index);
	/**
	 * 
	 * @param _car
	 * @return
	 */
	public abstract Car getNextCar(Car _car);
	/**
	 * 
	 * @param _car
	 * @return
	 */
	public abstract int getIndex(Car _car);
	/**
	 * 
	 * @param _car
	 * @param _distance
	 */
	public abstract void moveCar(Car _car, int _distance);
	/**
	 * 
	 * @param _car
	 * @param _index
	 */
	public abstract boolean setCar(Car _car, int _index);
		/**
	 * 
	 * @return
	 */
	public abstract int getMaxSpeed();
	/**
	 * 
	 * @return
	 */
	public abstract int getLength();
	/**
	 * 
	 * @return
	 */
	public abstract int getNumberCarsOnRoad();
}
